home *** CD-ROM | disk | FTP | other *** search
Wrap
package javax.swing.text; import java.awt.Point; import java.awt.Rectangle; import java.text.BreakIterator; import javax.accessibility.AccessibleContext; import javax.accessibility.AccessibleRole; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; import javax.accessibility.AccessibleText; import javax.swing.JComponent; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; public class JTextComponent$AccessibleJTextComponent extends JComponent.AccessibleJComponent implements AccessibleText, CaretListener, DocumentListener { // $FF: synthetic field private final JTextComponent this$0; int caretPos; public JTextComponent$AccessibleJTextComponent(JTextComponent var1) { super(var1); this.this$0 = var1; Document var2 = var1.getDocument(); if (var2 != null) { var2.addDocumentListener(this); } var1.addCaretListener(this); this.caretPos = this.getCaretPosition(); } public void caretUpdate(CaretEvent var1) { int var2 = var1.getDot(); int var3 = var1.getMark(); if (this.caretPos != var2) { ((AccessibleContext)this).firePropertyChange("AccessibleCaret", new Integer(this.caretPos), new Integer(var2)); this.caretPos = var2; } if (var3 != var2) { ((AccessibleContext)this).firePropertyChange("AccessibleSelection", (Object)null, this.getSelectedText()); } } public void changedUpdate(DocumentEvent var1) { Caret var2 = this.this$0.getCaret(); Integer var3 = new Integer(var2.getDot()); ((AccessibleContext)this).firePropertyChange("AccessibleText", (Object)null, var3); } public AccessibleRole getAccessibleRole() { return AccessibleRole.TEXT; } public AccessibleStateSet getAccessibleStateSet() { AccessibleStateSet var1 = super.getAccessibleStateSet(); if (this.this$0.isEditable()) { var1.add(AccessibleState.EDITABLE); } return var1; } public AccessibleText getAccessibleText() { return this; } public String getAfterIndex(int var1, int var2) { if (var2 >= 0 && var2 < JTextComponent.access$0(this.this$0).getLength()) { switch (var1) { case 1: if (var2 + 1 >= JTextComponent.access$0(this.this$0).getLength()) { return null; } else { try { return JTextComponent.access$0(this.this$0).getText(var2 + 1, 1); } catch (BadLocationException var9) { return null; } } case 2: try { String var10 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength()); BreakIterator var11 = BreakIterator.getWordInstance(); var11.setText(var10); int var12 = var11.following(var2); if (var12 != -1 && var12 < var10.length()) { int var13 = var11.following(var12); if (var13 != -1 && var13 < var10.length()) { return var10.substring(var12, var13); } return null; } return null; } catch (BadLocationException var8) { return null; } case 3: try { String var3 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength()); BreakIterator var4 = BreakIterator.getSentenceInstance(); var4.setText(var3); int var5 = var4.following(var2); if (var5 != -1 && var5 < var3.length()) { int var6 = var4.following(var5); if (var6 != -1 && var6 < var3.length()) { return var3.substring(var5, var6); } return null; } return null; } catch (BadLocationException var7) { return null; } default: return null; } } else { return null; } } public String getAtIndex(int var1, int var2) { if (var2 >= 0 && var2 < JTextComponent.access$0(this.this$0).getLength()) { switch (var1) { case 1: try { return JTextComponent.access$0(this.this$0).getText(var2, 1); } catch (BadLocationException var8) { return null; } case 2: try { String var9 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength()); BreakIterator var10 = BreakIterator.getWordInstance(); var10.setText(var9); int var11 = var10.following(var2); return var9.substring(var10.previous(), var11); } catch (BadLocationException var7) { return null; } case 3: try { String var3 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength()); BreakIterator var4 = BreakIterator.getSentenceInstance(); var4.setText(var3); int var5 = var4.following(var2); return var3.substring(var4.previous(), var5); } catch (BadLocationException var6) { return null; } default: return null; } } else { return null; } } public String getBeforeIndex(int var1, int var2) { if (var2 >= 0 && var2 <= JTextComponent.access$0(this.this$0).getLength() - 1) { switch (var1) { case 1: if (var2 == 0) { return null; } else { try { return JTextComponent.access$0(this.this$0).getText(var2 - 1, 1); } catch (BadLocationException var9) { return null; } } case 2: try { String var10 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength()); BreakIterator var11 = BreakIterator.getWordInstance(); var11.setText(var10); var11.following(var2); int var12 = var11.previous(); int var13 = var11.previous(); if (var13 == -1) { return null; } return var10.substring(var13, var12); } catch (BadLocationException var8) { return null; } case 3: try { String var3 = JTextComponent.access$0(this.this$0).getText(0, JTextComponent.access$0(this.this$0).getLength()); BreakIterator var4 = BreakIterator.getSentenceInstance(); var4.setText(var3); var4.following(var2); int var5 = var4.previous(); int var6 = var4.previous(); if (var6 == -1) { return null; } return var3.substring(var6, var5); } catch (BadLocationException var7) { return null; } default: return null; } } else { return null; } } public int getCaretPosition() { return this.this$0.getCaretPosition(); } public int getCharCount() { return JTextComponent.access$0(this.this$0).getLength(); } public AttributeSet getCharacterAttribute(int var1) { Object var2 = null; int var3; for(var4 = JTextComponent.access$0(this.this$0).getDefaultRootElement(); !var4.isLeaf(); var4 = var4.getElement(var3)) { var3 = var4.getElementIndex(var1); } return var4.getAttributes(); } public Rectangle getCharacterBounds(int var1) { if (var1 >= 0 && var1 <= JTextComponent.access$0(this.this$0).getLength() - 1) { Rectangle var2; try { var2 = this.this$0.modelToView(var1); } catch (BadLocationException var3) { var2 = null; } return var2; } else { return null; } } public int getIndexAtPoint(Point var1) { return var1 == null ? -1 : this.this$0.viewToModel(var1); } public String getSelectedText() { return this.this$0.getSelectedText(); } public int getSelectionEnd() { return this.this$0.getSelectionEnd(); } public int getSelectionStart() { return this.this$0.getSelectionStart(); } public void insertUpdate(DocumentEvent var1) { Caret var2 = this.this$0.getCaret(); Integer var3 = new Integer(var2.getDot()); ((AccessibleContext)this).firePropertyChange("AccessibleText", (Object)null, var3); } public void removeUpdate(DocumentEvent var1) { Caret var2 = this.this$0.getCaret(); Integer var3 = new Integer(var2.getDot()); ((AccessibleContext)this).firePropertyChange("AccessibleText", (Object)null, var3); } }